<!DOCTYPE html>
<html lang="zh_Ch">
    <head>
  <!-- 元数据 -->
  <meta charset="utf-8">
  
  
  <title>小程序二维码 | Blog</title>
  
  <meta name="author" content="Sun Liusen" />
  <meta http-equiv="Cache-Control" content="no-transform" />
  <meta http-equiv="Cache-Control" content="no-siteapp" />
  <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  <meta name="robots" content="index,follow" />
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
  <meta name="format-detection" content="telphone=no, email=no" />
  
    <meta name="keywords" content="前端" />
  
  <meta name="description" content="微信小程序二维码生成源码地址：https:&#x2F;&#x2F;github.com&#x2F;yingye&#x2F;weapp-qrcode#readme uniapp 代码片段12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686">
<meta property="og:type" content="article">
<meta property="og:title" content="小程序二维码">
<meta property="og:url" content="https://slsandxr.top/2023/03/24/%E5%B0%8F%E7%A8%8B%E5%BA%8F%E4%BA%8C%E7%BB%B4%E7%A0%81/index.html">
<meta property="og:site_name" content="Blog">
<meta property="og:description" content="微信小程序二维码生成源码地址：https:&#x2F;&#x2F;github.com&#x2F;yingye&#x2F;weapp-qrcode#readme uniapp 代码片段12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686">
<meta property="og:locale" content="zh_CH">
<meta property="article:published_time" content="2023-03-24T03:41:11.000Z">
<meta property="article:modified_time" content="2024-12-16T11:07:04.242Z">
<meta property="article:author" content="Sun Liusen">
<meta property="article:tag" content="前端">
<meta name="twitter:card" content="summary">
  
  <!-- 站点验证相关 -->
  
    
    
    
  
  <!-- 样式表文件 -->
  <link rel="stylesheet" id="kratos-css" href="/css/kratosr.min.css" media="all"></script>
  
    <link rel="stylesheet" id="darkmode-css" href="/css/kr-color-dark.min.css" media="(prefers-color-scheme: dark)"></script>
    <script src="/js/kr-dark.min.js"></script>
  
  
    <link rel="stylesheet" id="highlight-css" href="/css/highlight/night-eighties.min.css" media="all"></script>
  
  <link rel="stylesheet" id="fontawe-css" href="/vendors/font-awesome@4.7.0/css/font-awesome.min.css" media="all"></script>
  <link rel="stylesheet" id="nprogress-css" href="/vendors/nprogress@0.2.0/nprogress.css" media="all"></script>
  
  
    <link rel="stylesheet" href="/vendors/aplayer@1.10.1/dist/APlayer.min.css"></script>
  
  
    <link rel="stylesheet" href="/vendors/@fancyapps/fancybox@3.5.7/dist/jquery.fancybox.min.css"></script>
  
  <!-- 不得不预先加载的一些JS文件 -->
  <script src="/vendors/jquery@3.6.0/dist/jquery.min.js"></script>
  
    <script src="/vendors/qrcode_js@1.0.0/qrcode.min.js"></script>
  
  
  <style>
    
    
  </style>
  
<meta name="generator" content="Hexo 6.3.0"></head>


    <body class="custom-background">
        <div id="kratos-wrapper">
    <div id="kratos-page">
        <div id="kratos-header">
            <header id="kratos-desktop-topnav" class="kratos-topnav">
                <div class="container">
                    <div class="nav-header">
                        <nav id="kratos-menu-wrap">
                            <ul id="kratos-primary-menu" class="sf-menu">
                                
                                    
                                    
                                
                            </ul>
                        </nav>
                    </div>
                </div>
            </header>
            <header id="kratos-mobile-topnav" class="kratos-topnav">
                <div class="container">
                    <div class="color-logo"><a href="/">Blog</a></div>
                    <div class="nav-toggle">
                        <a class="kratos-nav-toggle js-kratos-nav-toggle">
                            <i></i>
                        </a>
                    </div>
                </div>
            </header>
        </div>
        <div class="kratos-start kratos-hero-2">
            <!-- <div class="kratos-overlay"></div> -->
            <div class="kratos-cover kratos-cover-2 text-center">
                <div class="desc desc2 animate-box">
                    <a href="/">
                        <h2>Blog</h2> <br />
                        <span></span>
                    </a>
                </div>
            </div>
        </div>

        <div id="kratos-blog-post">
            <div class="container">
                <div id="main" class="row">
                    

        

            <section class="col-md-8">

        

            <article itemscope itemtype="https://schema.org/Article">
    
    <link itemprop="mainEntityOfPage" href="https://slsandxr.top/2023/03/24/%E5%B0%8F%E7%A8%8B%E5%BA%8F%E4%BA%8C%E7%BB%B4%E7%A0%81/">
    <div class="kratos-hentry kratos-post-inner clearfix">
        <header class="kratos-entry-header">
            
                <h1 class="kratos-entry-title text-center" itemprop="name headline">小程序二维码</h1>
            
            
            <ul class="kratos-post-meta text-center">
                <li><time datetime="2023-03-24T03:41:11.000Z" itemprop="datePublished"><i class="fa fa-calendar"></i> 2023-03-24</time></li>
                <li itemprop="author" itemscope itemtype="https://schema.org/Person">
                    <i class="fa fa-user"></i> 作者 <span itemprop="name">Sun Liusen</span>
                </li>
                
                    <li>
                        <i class="fa fa-edit"></i> 
                        
                        
                            ~19.85K
                        
                        字
                    </li>
                
                
            </ul>
        </header>
        <div class="kratos-post-content">
            
            <div id="expire-alert" class="alert alert-warning hidden" role="alert">
                <div class="icon"><i class="fa fa-warning"></i></div>
                <div class="text"><p>本文最后编辑于 <time datetime="1734347224242"></time> 前，其中的内容可能需要更新。</p></div>
            </div>
            
            
            
            <hr />
            <div itemprop="articleBody"><h1 id="微信小程序二维码生成"><a href="#微信小程序二维码生成" class="headerlink" title="微信小程序二维码生成"></a>微信小程序二维码生成</h1><h2 id="源码"><a href="#源码" class="headerlink" title="源码"></a>源码</h2><p>地址：<a target="_blank" rel="noopener" href="https://github.com/yingye/weapp-qrcode#readme">https://github.com/yingye/weapp-qrcode#readme</a></p>
<h2 id="uniapp-代码片段"><a href="#uniapp-代码片段" class="headerlink" title="uniapp 代码片段"></a>uniapp 代码片段</h2><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br><span class="line">71</span><br><span class="line">72</span><br><span class="line">73</span><br><span class="line">74</span><br><span class="line">75</span><br><span class="line">76</span><br><span class="line">77</span><br><span class="line">78</span><br><span class="line">79</span><br><span class="line">80</span><br><span class="line">81</span><br><span class="line">82</span><br><span class="line">83</span><br><span class="line">84</span><br><span class="line">85</span><br><span class="line">86</span><br><span class="line">87</span><br><span class="line">88</span><br><span class="line">89</span><br><span class="line">90</span><br><span class="line">91</span><br><span class="line">92</span><br><span class="line">93</span><br><span class="line">94</span><br><span class="line">95</span><br><span class="line">96</span><br><span class="line">97</span><br><span class="line">98</span><br><span class="line">99</span><br><span class="line">100</span><br><span class="line">101</span><br><span class="line">102</span><br><span class="line">103</span><br><span class="line">104</span><br><span class="line">105</span><br><span class="line">106</span><br><span class="line">107</span><br><span class="line">108</span><br><span class="line">109</span><br><span class="line">110</span><br><span class="line">111</span><br><span class="line">112</span><br><span class="line">113</span><br><span class="line">114</span><br><span class="line">115</span><br><span class="line">116</span><br><span class="line">117</span><br><span class="line">118</span><br><span class="line">119</span><br><span class="line">120</span><br><span class="line">121</span><br><span class="line">122</span><br><span class="line">123</span><br><span class="line">124</span><br><span class="line">125</span><br><span class="line">126</span><br><span class="line">127</span><br><span class="line">128</span><br><span class="line">129</span><br><span class="line">130</span><br><span class="line">131</span><br><span class="line">132</span><br></pre></td><td class="code"><pre><span class="line">&lt;template&gt;</span><br><span class="line">	&lt;view class=&quot;app-pages&quot;&gt;</span><br><span class="line">		&lt;view class=&quot;cell&quot;&gt;</span><br><span class="line">			&lt;u-cell :border=&quot;false&quot;&gt;</span><br><span class="line">				&lt;view class=&quot;mp_title&quot; slot=&quot;title&quot;&gt;测试票 ×1&lt;/view&gt;</span><br><span class="line">				&lt;view class=&quot;&quot; slot=&quot;label&quot;&gt;</span><br><span class="line">					&lt;view class=&quot;label&quot;&gt;</span><br><span class="line">						&lt;view class=&quot;label-item&quot;&gt;</span><br><span class="line">							&lt;view class=&quot;label-item-name&quot;&gt;使用日期&lt;/view&gt;</span><br><span class="line">							&lt;view class=&quot;label-item-value&quot;&gt;2022-3-22&lt;/view&gt;</span><br><span class="line">						&lt;/view&gt;</span><br><span class="line">						&lt;view class=&quot;label-item&quot;&gt;</span><br><span class="line">							&lt;view class=&quot;label-item-name&quot;&gt;入塔时间&lt;/view&gt;</span><br><span class="line">							&lt;view class=&quot;label-item-value&quot;&gt;08:30-21:30&lt;/view&gt;</span><br><span class="line">						&lt;/view&gt;</span><br><span class="line">						&lt;view class=&quot;label-item&quot;&gt;</span><br><span class="line">							&lt;view class=&quot;label-item-name&quot;&gt;地址&lt;/view&gt;</span><br><span class="line">							&lt;view class=&quot;label-item-value&quot;&gt;中央电视塔一层入塔检票处验证入园&lt;/view&gt;</span><br><span class="line">						&lt;/view&gt;</span><br><span class="line">					&lt;/view&gt;</span><br><span class="line">				&lt;/view&gt;</span><br><span class="line">			&lt;/u-cell&gt;</span><br><span class="line">		&lt;/view&gt;</span><br><span class="line">		&lt;view class=&quot;cell qr&quot;&gt;</span><br><span class="line">			&lt;view class=&quot;title&quot;&gt;凭【二维码】直接入园&lt;/view&gt;</span><br><span class="line">			&lt;canvas style=&quot;width: 300rpx;height: 300rpx;&quot; canvas-id=&quot;logoQRCode&quot; /&gt;</span><br><span class="line">			&lt;view class=&quot;footer&quot;&gt;</span><br><span class="line">				&lt;text&gt;&lt;/text&gt;</span><br><span class="line">				&lt;!-- &lt;text style=&quot;margin-left: 50rpx;&quot;&gt;1101**********121&lt;/text&gt; --&gt;</span><br><span class="line">			&lt;/view&gt;</span><br><span class="line">		&lt;/view&gt;</span><br><span class="line">	&lt;/view&gt;</span><br><span class="line">&lt;/template&gt;</span><br><span class="line">&lt;script&gt;</span><br><span class="line">	import drawQrcode from &#x27;@/utils/weapp.qrcode.min.js&#x27;</span><br><span class="line">	export default &#123;</span><br><span class="line">		data() &#123;</span><br><span class="line">			return &#123;&#125;</span><br><span class="line">		&#125;,</span><br><span class="line">		mounted() &#123;</span><br><span class="line">			uni.showLoading(&#123;</span><br><span class="line">				title:&#x27;二维码生成中...&#x27;</span><br><span class="line">			&#125;)</span><br><span class="line">			drawQrcode(&#123;</span><br><span class="line">				width: 150,</span><br><span class="line">				height: 150,</span><br><span class="line">				x: 0,</span><br><span class="line">				y: 0,</span><br><span class="line">				canvasId: &#x27;logoQRCode&#x27;,</span><br><span class="line">				typeNumber: 5, //最大27</span><br><span class="line">				text: &#x27;www.baidu.com&#x27;,</span><br><span class="line">				background: &#x27;#FFFFFF&#x27;, //二维码背景颜色，默认值白色</span><br><span class="line">				foreground: &#x27;#000000&#x27;, //二维码前景色，默认值黑色</span><br><span class="line">				/*image:&#123; //二维码中间放图片</span><br><span class="line">				  imageResource: &#x27;../../images/d.png&#x27;,</span><br><span class="line">				  dx: 70,</span><br><span class="line">				  dy: 70,</span><br><span class="line">				  dWidth: 60,</span><br><span class="line">				  dHeight: 60</span><br><span class="line">				&#125;,*/</span><br><span class="line">				correctLevel: 2, //非必须，二维码纠错级别，默认值为高级，取值：&#123; L: 1, M: 0, Q: 3, H: 2 &#125;</span><br><span class="line">				callback(e) &#123;</span><br><span class="line">					uni.hideLoading();</span><br><span class="line">					console.log(&#x27;微信小程序二维码: &#x27;, e)</span><br><span class="line">				&#125;</span><br><span class="line">			&#125;);</span><br><span class="line">		&#125;,</span><br><span class="line">		onLoad() &#123;</span><br><span class="line">		&#125;</span><br><span class="line">	&#125;</span><br><span class="line">&lt;/script&gt;</span><br><span class="line">&lt;style&gt;</span><br><span class="line">	page&#123;</span><br><span class="line">		background-color: #F6F6F6 !important;</span><br><span class="line">	&#125;</span><br><span class="line">&lt;/style&gt;</span><br><span class="line">&lt;style lang=&quot;scss&quot; scoped&gt;</span><br><span class="line">	</span><br><span class="line">	.app-pages&#123;</span><br><span class="line">		// background-color: #F6F6F6;</span><br><span class="line">		// overflow: auto;</span><br><span class="line">		// min-height: 100vh;</span><br><span class="line">	&#125;</span><br><span class="line">	.cell &#123;</span><br><span class="line">		margin-top: 50rpx;</span><br><span class="line">		background-color: #fff;</span><br><span class="line">		// box-shadow: 0 0 4rpx #ccc;</span><br><span class="line">.mp_title&#123;</span><br><span class="line">	font-size: 36rpx;</span><br><span class="line">	font-weight: 600;</span><br><span class="line">&#125;</span><br><span class="line">		.label &#123;</span><br><span class="line">			padding: 30rpx 0 0 24rpx;</span><br><span class="line">			font-size: 26rpx;</span><br><span class="line"></span><br><span class="line">			.label-item &#123;</span><br><span class="line">				display: flex;</span><br><span class="line">				margin-bottom: 30rpx;</span><br><span class="line"></span><br><span class="line">				&amp;+.label-item &#123;</span><br><span class="line">					margin-top: 15rpx;</span><br><span class="line">				&#125;</span><br><span class="line"></span><br><span class="line">				.label-item-name &#123;</span><br><span class="line">					width: 160rpx;</span><br><span class="line">				&#125;</span><br><span class="line"></span><br><span class="line">				.label-item-value &#123;</span><br><span class="line">					color: #F59A23;</span><br><span class="line">				&#125;</span><br><span class="line">			&#125;</span><br><span class="line">		&#125;</span><br><span class="line">	&#125;</span><br><span class="line"></span><br><span class="line">	.qr &#123;</span><br><span class="line">		display: flex;</span><br><span class="line">		flex-direction: column;</span><br><span class="line">		align-items: center;</span><br><span class="line">		justify-content: center;</span><br><span class="line"></span><br><span class="line">		.title &#123;</span><br><span class="line">			padding-top: 30rpx;</span><br><span class="line">			padding-bottom: 50rpx;</span><br><span class="line">		&#125;</span><br><span class="line"></span><br><span class="line">		.footer &#123;</span><br><span class="line">			padding-top: 50rpx;</span><br><span class="line">			padding-bottom: 30rpx;</span><br><span class="line">		&#125;</span><br><span class="line">	&#125;</span><br><span class="line">&lt;/style&gt;</span><br><span class="line"></span><br></pre></td></tr></table></figure>

<h2 id="引入JS"><a href="#引入JS" class="headerlink" title="引入JS"></a>引入JS</h2><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><span class="line">/**</span><br><span class="line"> * weapp.qrcode.js v0.8.0 (https://github.com/yingye/weapp-qrcode#readme)</span><br><span class="line"> */</span><br><span class="line"></span><br><span class="line">!function(t,e)&#123;&quot;object&quot;==typeof exports&amp;&amp;&quot;undefined&quot;!=typeof module?module.exports=e():&quot;function&quot;==typeof define&amp;&amp;define.amd?define(e):t.drawQrcode=e()&#125;(this,function()&#123;&quot;use strict&quot;;function t(t)&#123;this.mode=r.MODE_8BIT_BYTE,this.data=t&#125;function e(t,e)&#123;this.typeNumber=t,this.errorCorrectLevel=e,this.modules=null,this.moduleCount=0,this.dataCache=null,this.dataList=new Array&#125;t.prototype=&#123;getLength:function(t)&#123;return this.data.length&#125;,write:function(t)&#123;for(var e=0;e&lt;this.data.length;e++)t.put(this.data.charCodeAt(e),8)&#125;&#125;,e.prototype=&#123;addData:function(e)&#123;var r=new t(e);this.dataList.push(r),this.dataCache=null&#125;,isDark:function(t,e)&#123;if(t&lt;0||this.moduleCount&lt;=t||e&lt;0||this.moduleCount&lt;=e)throw new Error(t+&quot;,&quot;+e);return this.modules[t][e]&#125;,getModuleCount:function()&#123;return this.moduleCount&#125;,make:function()&#123;if(this.typeNumber&lt;1)&#123;var t=1;for(t=1;t&lt;40;t++)&#123;for(var e=v.getRSBlocks(t,this.errorCorrectLevel),r=new C,n=0,o=0;o&lt;e.length;o++)n+=e[o].dataCount;for(o=0;o&lt;this.dataList.length;o++)&#123;var i=this.dataList[o];r.put(i.mode,4),r.put(i.getLength(),g.getLengthInBits(i.mode,t)),i.write(r)&#125;if(r.getLengthInBits()&lt;=8*n)break&#125;this.typeNumber=t&#125;this.makeImpl(!1,this.getBestMaskPattern())&#125;,makeImpl:function(t,r)&#123;this.moduleCount=4*this.typeNumber+17,this.modules=new Array(this.moduleCount);for(var n=0;n&lt;this.moduleCount;n++)&#123;this.modules[n]=new Array(this.moduleCount);for(var o=0;o&lt;this.moduleCount;o++)this.modules[n][o]=null&#125;this.setupPositionProbePattern(0,0),this.setupPositionProbePattern(this.moduleCount-7,0),this.setupPositionProbePattern(0,this.moduleCount-7),this.setupPositionAdjustPattern(),this.setupTimingPattern(),this.setupTypeInfo(t,r),this.typeNumber&gt;=7&amp;&amp;this.setupTypeNumber(t),null==this.dataCache&amp;&amp;(this.dataCache=e.createData(this.typeNumber,this.errorCorrectLevel,this.dataList)),this.mapData(this.dataCache,r)&#125;,setupPositionProbePattern:function(t,e)&#123;for(var r=-1;r&lt;=7;r++)if(!(t+r&lt;=-1||this.moduleCount&lt;=t+r))for(var n=-1;n&lt;=7;n++)e+n&lt;=-1||this.moduleCount&lt;=e+n||(this.modules[t+r][e+n]=0&lt;=r&amp;&amp;r&lt;=6&amp;&amp;(0==n||6==n)||0&lt;=n&amp;&amp;n&lt;=6&amp;&amp;(0==r||6==r)||2&lt;=r&amp;&amp;r&lt;=4&amp;&amp;2&lt;=n&amp;&amp;n&lt;=4)&#125;,getBestMaskPattern:function()&#123;for(var t=0,e=0,r=0;r&lt;8;r++)&#123;this.makeImpl(!0,r);var n=g.getLostPoint(this);(0==r||t&gt;n)&amp;&amp;(t=n,e=r)&#125;return e&#125;,createMovieClip:function(t,e,r)&#123;var n=t.createEmptyMovieClip(e,r);this.make();for(var o=0;o&lt;this.modules.length;o++)for(var i=1*o,a=0;a&lt;this.modules[o].length;a++)&#123;var s=1*a;this.modules[o][a]&amp;&amp;(n.beginFill(0,100),n.moveTo(s,i),n.lineTo(s+1,i),n.lineTo(s+1,i+1),n.lineTo(s,i+1),n.endFill())&#125;return n&#125;,setupTimingPattern:function()&#123;for(var t=8;t&lt;this.moduleCount-8;t++)null==this.modules[t][6]&amp;&amp;(this.modules[t][6]=t%2==0);for(var e=8;e&lt;this.moduleCount-8;e++)null==this.modules[6][e]&amp;&amp;(this.modules[6][e]=e%2==0)&#125;,setupPositionAdjustPattern:function()&#123;for(var t=g.getPatternPosition(this.typeNumber),e=0;e&lt;t.length;e++)for(var r=0;r&lt;t.length;r++)&#123;var n=t[e],o=t[r];if(null==this.modules[n][o])for(var i=-2;i&lt;=2;i++)for(var a=-2;a&lt;=2;a++)this.modules[n+i][o+a]=-2==i||2==i||-2==a||2==a||0==i&amp;&amp;0==a&#125;&#125;,setupTypeNumber:function(t)&#123;for(var e=g.getBCHTypeNumber(this.typeNumber),r=0;r&lt;18;r++)&#123;var n=!t&amp;&amp;1==(e&gt;&gt;r&amp;1);this.modules[Math.floor(r/3)][r%3+this.moduleCount-8-3]=n&#125;for(r=0;r&lt;18;r++)&#123;n=!t&amp;&amp;1==(e&gt;&gt;r&amp;1);this.modules[r%3+this.moduleCount-8-3][Math.floor(r/3)]=n&#125;&#125;,setupTypeInfo:function(t,e)&#123;for(var r=this.errorCorrectLevel&lt;&lt;3|e,n=g.getBCHTypeInfo(r),o=0;o&lt;15;o++)&#123;var i=!t&amp;&amp;1==(n&gt;&gt;o&amp;1);o&lt;6?this.modules[o][8]=i:o&lt;8?this.modules[o+1][8]=i:this.modules[this.moduleCount-15+o][8]=i&#125;for(o=0;o&lt;15;o++)&#123;i=!t&amp;&amp;1==(n&gt;&gt;o&amp;1);o&lt;8?this.modules[8][this.moduleCount-o-1]=i:o&lt;9?this.modules[8][15-o-1+1]=i:this.modules[8][15-o-1]=i&#125;this.modules[this.moduleCount-8][8]=!t&#125;,mapData:function(t,e)&#123;for(var r=-1,n=this.moduleCount-1,o=7,i=0,a=this.moduleCount-1;a&gt;0;a-=2)for(6==a&amp;&amp;a--;;)&#123;for(var s=0;s&lt;2;s++)if(null==this.modules[n][a-s])&#123;var u=!1;i&lt;t.length&amp;&amp;(u=1==(t[i]&gt;&gt;&gt;o&amp;1)),g.getMask(e,n,a-s)&amp;&amp;(u=!u),this.modules[n][a-s]=u,-1==--o&amp;&amp;(i++,o=7)&#125;if((n+=r)&lt;0||this.moduleCount&lt;=n)&#123;n-=r,r=-r;break&#125;&#125;&#125;&#125;,e.PAD0=236,e.PAD1=17,e.createData=function(t,r,n)&#123;for(var o=v.getRSBlocks(t,r),i=new C,a=0;a&lt;n.length;a++)&#123;var s=n[a];i.put(s.mode,4),i.put(s.getLength(),g.getLengthInBits(s.mode,t)),s.write(i)&#125;var u=0;for(a=0;a&lt;o.length;a++)u+=o[a].dataCount;if(i.getLengthInBits()&gt;8*u)throw new Error(&quot;code length overflow. (&quot;+i.getLengthInBits()+&quot;&gt;&quot;+8*u+&quot;)&quot;);for(i.getLengthInBits()+4&lt;=8*u&amp;&amp;i.put(0,4);i.getLengthInBits()%8!=0;)i.putBit(!1);for(;!(i.getLengthInBits()&gt;=8*u||(i.put(e.PAD0,8),i.getLengthInBits()&gt;=8*u));)i.put(e.PAD1,8);return e.createBytes(i,o)&#125;,e.createBytes=function(t,e)&#123;for(var r=0,n=0,o=0,i=new Array(e.length),a=new Array(e.length),s=0;s&lt;e.length;s++)&#123;var u=e[s].dataCount,h=e[s].totalCount-u;n=Math.max(n,u),o=Math.max(o,h),i[s]=new Array(u);for(var l=0;l&lt;i[s].length;l++)i[s][l]=255&amp;t.buffer[l+r];r+=u;var f=g.getErrorCorrectPolynomial(h),c=new m(i[s],f.getLength()-1).mod(f);a[s]=new Array(f.getLength()-1);for(l=0;l&lt;a[s].length;l++)&#123;var d=l+c.getLength()-a[s].length;a[s][l]=d&gt;=0?c.get(d):0&#125;&#125;var v=0;for(l=0;l&lt;e.length;l++)v+=e[l].totalCount;var C=new Array(v),p=0;for(l=0;l&lt;n;l++)for(s=0;s&lt;e.length;s++)l&lt;i[s].length&amp;&amp;(C[p++]=i[s][l]);for(l=0;l&lt;o;l++)for(s=0;s&lt;e.length;s++)l&lt;a[s].length&amp;&amp;(C[p++]=a[s][l]);return C&#125;;for(var r=&#123;MODE_NUMBER:1,MODE_ALPHA_NUM:2,MODE_8BIT_BYTE:4,MODE_KANJI:8&#125;,n=&#123;L:1,M:0,Q:3,H:2&#125;,o=0,i=1,a=2,s=3,u=4,h=5,l=6,f=7,g=&#123;PATTERN_POSITION_TABLE:[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]],G15:1335,G18:7973,G15_MASK:21522,getBCHTypeInfo:function(t)&#123;for(var e=t&lt;&lt;10;g.getBCHDigit(e)-g.getBCHDigit(g.G15)&gt;=0;)e^=g.G15&lt;&lt;g.getBCHDigit(e)-g.getBCHDigit(g.G15);return(t&lt;&lt;10|e)^g.G15_MASK&#125;,getBCHTypeNumber:function(t)&#123;for(var e=t&lt;&lt;12;g.getBCHDigit(e)-g.getBCHDigit(g.G18)&gt;=0;)e^=g.G18&lt;&lt;g.getBCHDigit(e)-g.getBCHDigit(g.G18);return t&lt;&lt;12|e&#125;,getBCHDigit:function(t)&#123;for(var e=0;0!=t;)e++,t&gt;&gt;&gt;=1;return e&#125;,getPatternPosition:function(t)&#123;return g.PATTERN_POSITION_TABLE[t-1]&#125;,getMask:function(t,e,r)&#123;switch(t)&#123;case o:return(e+r)%2==0;case i:return e%2==0;case a:return r%3==0;case s:return(e+r)%3==0;case u:return(Math.floor(e/2)+Math.floor(r/3))%2==0;case h:return e*r%2+e*r%3==0;case l:return(e*r%2+e*r%3)%2==0;case f:return(e*r%3+(e+r)%2)%2==0;default:throw new Error(&quot;bad maskPattern:&quot;+t)&#125;&#125;,getErrorCorrectPolynomial:function(t)&#123;for(var e=new m([1],0),r=0;r&lt;t;r++)e=e.multiply(new m([1,c.gexp(r)],0));return e&#125;,getLengthInBits:function(t,e)&#123;if(1&lt;=e&amp;&amp;e&lt;10)switch(t)&#123;case r.MODE_NUMBER:return 10;case r.MODE_ALPHA_NUM:return 9;case r.MODE_8BIT_BYTE:case r.MODE_KANJI:return 8;default:throw new Error(&quot;mode:&quot;+t)&#125;else if(e&lt;27)switch(t)&#123;case r.MODE_NUMBER:return 12;case r.MODE_ALPHA_NUM:return 11;case r.MODE_8BIT_BYTE:return 16;case r.MODE_KANJI:return 10;default:throw new Error(&quot;mode:&quot;+t)&#125;else&#123;if(!(e&lt;41))throw new Error(&quot;type:&quot;+e);switch(t)&#123;case r.MODE_NUMBER:return 14;case r.MODE_ALPHA_NUM:return 13;case r.MODE_8BIT_BYTE:return 16;case r.MODE_KANJI:return 12;default:throw new Error(&quot;mode:&quot;+t)&#125;&#125;&#125;,getLostPoint:function(t)&#123;for(var e=t.getModuleCount(),r=0,n=0;n&lt;e;n++)for(var o=0;o&lt;e;o++)&#123;for(var i=0,a=t.isDark(n,o),s=-1;s&lt;=1;s++)if(!(n+s&lt;0||e&lt;=n+s))for(var u=-1;u&lt;=1;u++)o+u&lt;0||e&lt;=o+u||0==s&amp;&amp;0==u||a==t.isDark(n+s,o+u)&amp;&amp;i++;i&gt;5&amp;&amp;(r+=3+i-5)&#125;for(n=0;n&lt;e-1;n++)for(o=0;o&lt;e-1;o++)&#123;var h=0;t.isDark(n,o)&amp;&amp;h++,t.isDark(n+1,o)&amp;&amp;h++,t.isDark(n,o+1)&amp;&amp;h++,t.isDark(n+1,o+1)&amp;&amp;h++,0!=h&amp;&amp;4!=h||(r+=3)&#125;for(n=0;n&lt;e;n++)for(o=0;o&lt;e-6;o++)t.isDark(n,o)&amp;&amp;!t.isDark(n,o+1)&amp;&amp;t.isDark(n,o+2)&amp;&amp;t.isDark(n,o+3)&amp;&amp;t.isDark(n,o+4)&amp;&amp;!t.isDark(n,o+5)&amp;&amp;t.isDark(n,o+6)&amp;&amp;(r+=40);for(o=0;o&lt;e;o++)for(n=0;n&lt;e-6;n++)t.isDark(n,o)&amp;&amp;!t.isDark(n+1,o)&amp;&amp;t.isDark(n+2,o)&amp;&amp;t.isDark(n+3,o)&amp;&amp;t.isDark(n+4,o)&amp;&amp;!t.isDark(n+5,o)&amp;&amp;t.isDark(n+6,o)&amp;&amp;(r+=40);var l=0;for(o=0;o&lt;e;o++)for(n=0;n&lt;e;n++)t.isDark(n,o)&amp;&amp;l++;return r+=10*(Math.abs(100*l/e/e-50)/5)&#125;&#125;,c=&#123;glog:function(t)&#123;if(t&lt;1)throw new Error(&quot;glog(&quot;+t+&quot;)&quot;);return c.LOG_TABLE[t]&#125;,gexp:function(t)&#123;for(;t&lt;0;)t+=255;for(;t&gt;=256;)t-=255;return c.EXP_TABLE[t]&#125;,EXP_TABLE:new Array(256),LOG_TABLE:new Array(256)&#125;,d=0;d&lt;8;d++)c.EXP_TABLE[d]=1&lt;&lt;d;for(d=8;d&lt;256;d++)c.EXP_TABLE[d]=c.EXP_TABLE[d-4]^c.EXP_TABLE[d-5]^c.EXP_TABLE[d-6]^c.EXP_TABLE[d-8];for(d=0;d&lt;255;d++)c.LOG_TABLE[c.EXP_TABLE[d]]=d;function m(t,e)&#123;if(void 0==t.length)throw new Error(t.length+&quot;/&quot;+e);for(var r=0;r&lt;t.length&amp;&amp;0==t[r];)r++;this.num=new Array(t.length-r+e);for(var n=0;n&lt;t.length-r;n++)this.num[n]=t[n+r]&#125;function v(t,e)&#123;this.totalCount=t,this.dataCount=e&#125;function C()&#123;this.buffer=new Array,this.length=0&#125;return m.prototype=&#123;get:function(t)&#123;return this.num[t]&#125;,getLength:function()&#123;return this.num.length&#125;,multiply:function(t)&#123;for(var e=new Array(this.getLength()+t.getLength()-1),r=0;r&lt;this.getLength();r++)for(var n=0;n&lt;t.getLength();n++)e[r+n]^=c.gexp(c.glog(this.get(r))+c.glog(t.get(n)));return new m(e,0)&#125;,mod:function(t)&#123;if(this.getLength()-t.getLength()&lt;0)return this;for(var e=c.glog(this.get(0))-c.glog(t.get(0)),r=new Array(this.getLength()),n=0;n&lt;this.getLength();n++)r[n]=this.get(n);for(n=0;n&lt;t.getLength();n++)r[n]^=c.gexp(c.glog(t.get(n))+e);return new m(r,0).mod(t)&#125;&#125;,v.RS_BLOCK_TABLE=[[1,26,19],[1,26,16],[1,26,13],[1,26,9],[1,44,34],[1,44,28],[1,44,22],[1,44,16],[1,70,55],[1,70,44],[2,35,17],[2,35,13],[1,100,80],[2,50,32],[2,50,24],[4,25,9],[1,134,108],[2,67,43],[2,33,15,2,34,16],[2,33,11,2,34,12],[2,86,68],[4,43,27],[4,43,19],[4,43,15],[2,98,78],[4,49,31],[2,32,14,4,33,15],[4,39,13,1,40,14],[2,121,97],[2,60,38,2,61,39],[4,40,18,2,41,19],[4,40,14,2,41,15],[2,146,116],[3,58,36,2,59,37],[4,36,16,4,37,17],[4,36,12,4,37,13],[2,86,68,2,87,69],[4,69,43,1,70,44],[6,43,19,2,44,20],[6,43,15,2,44,16],[4,101,81],[1,80,50,4,81,51],[4,50,22,4,51,23],[3,36,12,8,37,13],[2,116,92,2,117,93],[6,58,36,2,59,37],[4,46,20,6,47,21],[7,42,14,4,43,15],[4,133,107],[8,59,37,1,60,38],[8,44,20,4,45,21],[12,33,11,4,34,12],[3,145,115,1,146,116],[4,64,40,5,65,41],[11,36,16,5,37,17],[11,36,12,5,37,13],[5,109,87,1,110,88],[5,65,41,5,66,42],[5,54,24,7,55,25],[11,36,12],[5,122,98,1,123,99],[7,73,45,3,74,46],[15,43,19,2,44,20],[3,45,15,13,46,16],[1,135,107,5,136,108],[10,74,46,1,75,47],[1,50,22,15,51,23],[2,42,14,17,43,15],[5,150,120,1,151,121],[9,69,43,4,70,44],[17,50,22,1,51,23],[2,42,14,19,43,15],[3,141,113,4,142,114],[3,70,44,11,71,45],[17,47,21,4,48,22],[9,39,13,16,40,14],[3,135,107,5,136,108],[3,67,41,13,68,42],[15,54,24,5,55,25],[15,43,15,10,44,16],[4,144,116,4,145,117],[17,68,42],[17,50,22,6,51,23],[19,46,16,6,47,17],[2,139,111,7,140,112],[17,74,46],[7,54,24,16,55,25],[34,37,13],[4,151,121,5,152,122],[4,75,47,14,76,48],[11,54,24,14,55,25],[16,45,15,14,46,16],[6,147,117,4,148,118],[6,73,45,14,74,46],[11,54,24,16,55,25],[30,46,16,2,47,17],[8,132,106,4,133,107],[8,75,47,13,76,48],[7,54,24,22,55,25],[22,45,15,13,46,16],[10,142,114,2,143,115],[19,74,46,4,75,47],[28,50,22,6,51,23],[33,46,16,4,47,17],[8,152,122,4,153,123],[22,73,45,3,74,46],[8,53,23,26,54,24],[12,45,15,28,46,16],[3,147,117,10,148,118],[3,73,45,23,74,46],[4,54,24,31,55,25],[11,45,15,31,46,16],[7,146,116,7,147,117],[21,73,45,7,74,46],[1,53,23,37,54,24],[19,45,15,26,46,16],[5,145,115,10,146,116],[19,75,47,10,76,48],[15,54,24,25,55,25],[23,45,15,25,46,16],[13,145,115,3,146,116],[2,74,46,29,75,47],[42,54,24,1,55,25],[23,45,15,28,46,16],[17,145,115],[10,74,46,23,75,47],[10,54,24,35,55,25],[19,45,15,35,46,16],[17,145,115,1,146,116],[14,74,46,21,75,47],[29,54,24,19,55,25],[11,45,15,46,46,16],[13,145,115,6,146,116],[14,74,46,23,75,47],[44,54,24,7,55,25],[59,46,16,1,47,17],[12,151,121,7,152,122],[12,75,47,26,76,48],[39,54,24,14,55,25],[22,45,15,41,46,16],[6,151,121,14,152,122],[6,75,47,34,76,48],[46,54,24,10,55,25],[2,45,15,64,46,16],[17,152,122,4,153,123],[29,74,46,14,75,47],[49,54,24,10,55,25],[24,45,15,46,46,16],[4,152,122,18,153,123],[13,74,46,32,75,47],[48,54,24,14,55,25],[42,45,15,32,46,16],[20,147,117,4,148,118],[40,75,47,7,76,48],[43,54,24,22,55,25],[10,45,15,67,46,16],[19,148,118,6,149,119],[18,75,47,31,76,48],[34,54,24,34,55,25],[20,45,15,61,46,16]],v.getRSBlocks=function(t,e)&#123;var r=v.getRsBlockTable(t,e);if(void 0==r)throw new Error(&quot;bad rs block @ typeNumber:&quot;+t+&quot;/errorCorrectLevel:&quot;+e);for(var n=r.length/3,o=new Array,i=0;i&lt;n;i++)for(var a=r[3*i+0],s=r[3*i+1],u=r[3*i+2],h=0;h&lt;a;h++)o.push(new v(s,u));return o&#125;,v.getRsBlockTable=function(t,e)&#123;switch(e)&#123;case n.L:return v.RS_BLOCK_TABLE[4*(t-1)+0];case n.M:return v.RS_BLOCK_TABLE[4*(t-1)+1];case n.Q:return v.RS_BLOCK_TABLE[4*(t-1)+2];case n.H:return v.RS_BLOCK_TABLE[4*(t-1)+3];default:return&#125;&#125;,C.prototype=&#123;get:function(t)&#123;var e=Math.floor(t/8);return 1==(this.buffer[e]&gt;&gt;&gt;7-t%8&amp;1)&#125;,put:function(t,e)&#123;for(var r=0;r&lt;e;r++)this.putBit(1==(t&gt;&gt;&gt;e-r-1&amp;1))&#125;,getLengthInBits:function()&#123;return this.length&#125;,putBit:function(t)&#123;var e=Math.floor(this.length/8);this.buffer.length&lt;=e&amp;&amp;this.buffer.push(0),t&amp;&amp;(this.buffer[e]|=128&gt;&gt;&gt;this.length%8),this.length++&#125;&#125;,function(t)&#123;t=t||&#123;&#125;,(t=Object.assign(&#123;width:256,height:256,typeNumber:-1,correctLevel:n.H,background:&quot;#ffffff&quot;,foreground:&quot;#000000&quot;&#125;,t)).canvasId?function()&#123;var r=new e(t.typeNumber,t.correctLevel);r.addData(t.text),r.make();for(var n=t._this?wx.createCanvasContext&amp;&amp;wx.createCanvasContext(t.canvasId,t._this):wx.createCanvasContext&amp;&amp;wx.createCanvasContext(t.canvasId),o=t.width/r.getModuleCount(),i=t.height/r.getModuleCount(),a=0;a&lt;r.getModuleCount();a++)for(var s=0;s&lt;r.getModuleCount();s++)&#123;var u=r.isDark(a,s)?t.foreground:t.background;n.setFillStyle(u);var h=Math.ceil((s+1)*o)-Math.floor(s*o),l=Math.ceil((a+1)*o)-Math.floor(a*o);n.fillRect(Math.round(s*o),Math.round(a*i),h,l)&#125;n.draw(!1,function(e)&#123;t.callback&amp;&amp;t.callback(e)&#125;)&#125;():console.warn(&quot;please you set canvasId!&quot;)&#125;&#125;);</span><br><span class="line"></span><br></pre></td></tr></table></figure>
</div>
        </div>
        
            <div class="kratos-copyright text-center clearfix">
                <h5 itemprop="copyrightNotice">本作品采用 <a rel="license nofollow" target="_blank" href="https://creativecommons.org/licenses/by-sa/4.0/">知识共享署名-相同方式共享 4.0 国际许可协议</a> 进行许可</h5>
            </div>
        
        <footer class="kratos-entry-footer clearfix">
            
                <div class="post-like-donate text-center clearfix" id="post-like-donate">
                
                
                    <a class="share" href="javascript:;"><i class="fa fa-share-alt"></i> 分享</a>
                    <div class="share-wrap" style="display: none;">
    <div class="share-group">
        <a href="javascript:;" class="share-plain qq" onclick="share('qq');" rel="nofollow">
            <div class="icon-wrap">
                <i class="fa fa-qq"></i>
            </div>
        </a>
        <a href="javascript:;" class="share-plain qzone" onclick="share('qzone');" rel="nofollow">
            <div class="icon-wrap">
                <i class="fa fa-star"></i>
            </div>
        </a>
        <a href="javascript:;" class="share-plain weixin pop style-plain" rel="nofollow">
            <div class="icon-wrap">
                <i class="fa fa-weixin"></i>
            </div>
            <div class="share-int">
                <div class="qrcode" id="wechat-qr"></div>
                <p>打开微信“扫一扫”，打开网页后点击屏幕右上角分享按钮</p>
            </div>
        </a>
        <a href="javascript:;" class="share-plain weibo" onclick="share('weibo');" rel="nofollow">
            <div class="icon-wrap">
                <i class="fa fa-weibo"></i>
            </div>
        </a>
        <a href="javascript:;" class="share-plain facebook style-plain" onclick="share('facebook');" rel="nofollow">
            <div class="icon-wrap">
                <i class="fa fa-facebook"></i>
            </div>
        </a>
        <a href="javascript:;" class="share-plain twitter style-plain" onclick="share('twitter');" rel="nofollow">
            <div class="icon-wrap">
                <i class="fa fa-twitter"></i>
            </div>
        </a>
    </div>
    <script type="text/javascript">
        $(()=>{
            new QRCode("wechat-qr", {
                text: "https://slsandxr.top/2023/03/24/%E5%B0%8F%E7%A8%8B%E5%BA%8F%E4%BA%8C%E7%BB%B4%E7%A0%81/",
                width: 150,
                height: 150,
                correctLevel : QRCode.CorrectLevel.H
            });
        });
        function share(dest) {
            const qqBase        = "https://connect.qq.com/widget/shareqq/index.html?";
            const weiboBase     = "https://service.weibo.com/share/share.php?";
            const qzoneBase     = "https://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?";
            const facebookBase  = "https://www.facebook.com/sharer/sharer.php?";
            const twitterBase   = "https://twitter.com/intent/tweet?";
            const hostUrl       = "https://slsandxr.top/2023/03/24/%E5%B0%8F%E7%A8%8B%E5%BA%8F%E4%BA%8C%E7%BB%B4%E7%A0%81/";
            const title         = "「小程序二维码」";
            const excerpt       = `微信小程序二维码生成源码地址：https://github.com/yingye/weapp-qrcode#readme
uniapp 代码片段123456789101112131415161718192021222324252627...`;
            let _URL;
            switch (dest) {
                case "qq"       : _URL = qqBase+"url="+hostUrl+"&title="+title+"&desc=&summary="+excerpt+"&site=cxpy";     break;
                case "weibo"    : _URL = weiboBase+"url="+hostUrl+"&title="+title+excerpt;                                 break;
                case "qzone"    : _URL = qzoneBase+"url="+hostUrl+"&title="+title+"&desc=&summary="+excerpt+"&site=cxpy";  break;
                case "facebook" : _URL = facebookBase+"u="+hostUrl;                                                        break;
                case "twitter"  : _URL = twitterBase+"text="+title+excerpt+"&url="+hostUrl;                                break;
            }
            window.open(_URL);
        };
    </script>
</div>
                
                </div>
            
            <div class="footer-tag clearfix">
                <div class="pull-left">
                <i class="fa fa-tags"></i>
                    <a class="tag-none-link" href="/tags/%E5%89%8D%E7%AB%AF/" rel="tag">前端</a>
                </div>
                <div class="pull-date">
                    <time datetime="2024-12-16T11:07:04.242Z" itemprop="dateModified">最后编辑：2024-12-16</time>
                </div>
            </div>
        </footer>
    </div>
    
        <nav class="navigation post-navigation clearfix" role="navigation">
            
            <div class="nav-previous clearfix">
                <a title=" 小程序授权页面（弹出）" href="/2023/03/21/小程序授权页面（弹出）/">&lt; 上一篇</a>
            </div>
            
            
            <div class="nav-next clearfix">
                <a title=" PETS-3" href="/2023/03/28/全国公共英语等级考试PETS三级/PETS-3-笔记-1/">下一篇 &gt;</a>
            </div>
            
        </nav>
    
    
</article>

        

            </section>

        

                
            

<section id="kratos-widget-area" class="col-md-4 hidden-xs hidden-sm">
    <!-- 文章和页面根据splitter来分割，没有的话就从头开始设置为sticky -->
    
    
                <aside id="krw-about" class="widget widget-kratos-about clearfix">
    <div class="photo-background"></div>
    <div class="photo-wrapper clearfix">
        <div class="photo-wrapper-tip text-center">
            <img class="about-photo" src="/images/avatar.webp" loading="lazy" decoding="auto" />
        </div>
    </div>
    <div class="textwidget">
        <p class="text-center">孙刘森的博客</p>
    </div>
    <div class="site-meta">
        <a class="meta-item" href="/archives/">
            <span class="title">
                文章
            </span>
            <span class="count">
                34
            </span>
        </a>
        <a class="meta-item" href="/categories/">
            <span class="title">
                分类
            </span>
            <span class="count">
                11
            </span>
        </a>
        <a class="meta-item" href="/tags/">
            <span class="title">
                标签
            </span>
            <span class="count">
                18
            </span>
        </a>
    </div>
</aside>
            
                    <div class="sticky-area">
                
                
  <aside id="krw-categories" class="widget widget-kratos-categories clearfix">
    <h4 class="widget-title"><i class="fa fa-folder"></i>分类目录</h4>
      <ul class="category-list"><li class="category-list-item"><a class="category-list-link" href="/categories/Js/">Js</a><span class="category-list-count">12</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/PETS-3/">PETS-3</a><span class="category-list-count">1</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/Tools/">Tools</a><span class="category-list-count">1</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/UniCloud/">UniCloud</a><span class="category-list-count">1</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/%E5%AD%99%E5%88%98%E6%A3%AE%E7%9A%84%E8%B4%A6%E6%9C%AC/">孙刘森的账本</a><span class="category-list-count">1</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/%E5%AE%89%E5%8D%93/">安卓</a><span class="category-list-count">1</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/%E5%BE%AE%E4%BF%A1%E5%B0%8F%E7%A8%8B%E5%BA%8F/">微信小程序</a><span class="category-list-count">2</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/%E6%88%91%E7%9A%84%E5%8D%9A%E5%AE%A2/">我的博客</a><span class="category-list-count">1</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/%E6%8E%92%E5%BF%A7%E8%A7%A3%E9%9A%BE/">排忧解难</a><span class="category-list-count">1</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/%E6%9C%8D%E5%8A%A1%E5%99%A8/">服务器</a><span class="category-list-count">12</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/%E7%A7%8D%E5%AD%90/">种子</a><span class="category-list-count">1</span></li></ul>
  </aside>


            
                
  <aside id="krw-tags" class="widget widget-kratos-tags clearfix">
    <h4 class="widget-title"><i class="fa fa-tags"></i>标签聚合</h4>
      <div class="tag-clouds">
        <a href="/tags/Docker/" style="font-size: 0.6em;">Docker</a> <a href="/tags/Java/" style="font-size: 0.6em;">Java</a> <a href="/tags/Linux/" style="font-size: 0.73em;">Linux</a> <a href="/tags/Mindway-js/" style="font-size: 0.6em;">Mindway.js</a> <a href="/tags/Mysql/" style="font-size: 0.6em;">Mysql</a> <a href="/tags/Nginx/" style="font-size: 0.67em;">Nginx</a> <a href="/tags/Node/" style="font-size: 0.6em;">Node</a> <a href="/tags/PETS-3/" style="font-size: 0.6em;">PETS-3</a> <a href="/tags/UniCloud/" style="font-size: 0.6em;">UniCloud</a> <a href="/tags/Vue3/" style="font-size: 0.6em;">Vue3</a> <a href="/tags/apk/" style="font-size: 0.6em;">apk</a> <a href="/tags/%E5%89%8D%E7%AB%AF/" style="font-size: 0.8em;">前端</a> <a href="/tags/%E5%89%8D%E7%AB%AF%E5%AD%98%E5%82%A8/" style="font-size: 0.6em;">前端存储</a> <a href="/tags/%E5%AD%99%E5%88%98%E6%A3%AE%E7%9A%84%E8%B4%A6%E6%9C%AC/" style="font-size: 0.6em;">孙刘森的账本</a> <a href="/tags/%E5%B7%A5%E5%85%B7/" style="font-size: 0.67em;">工具</a> <a href="/tags/%E6%8E%92%E5%BF%A7%E8%A7%A3%E9%9A%BE/" style="font-size: 0.6em;">排忧解难</a> <a href="/tags/%E7%A7%8D%E5%AD%90/" style="font-size: 0.6em;">种子</a> <a href="/tags/%E9%80%82%E9%85%8D/" style="font-size: 0.6em;">适配</a>
      </div>
  </aside>

            
                
  <aside id="krw-posts" class="widget widget-kratos-posts">
  <h4 class="widget-title"><i class="fa fa-file"></i>最新文章</h4>
  <div class="tab-content">
      <ul class="list-group">
        
        
          
          
            <a class="list-group-item" href="/2024/06/06/JS/%E9%80%82%E9%85%8D%E4%BB%A3%E7%A0%81/"><i class="fa  fa-book"></i> 前端rem适配代码</a>
            
          
        
          
          
            <a class="list-group-item" href="/2023/10/07/JS/canvas%E5%AE%9E%E7%8E%B0%E7%9B%96%E7%AB%A0/"><i class="fa  fa-book"></i> canvas实现盖章</a>
            
          
        
          
          
            <a class="list-group-item" href="/2023/08/31/JS/Js-sku%E5%95%86%E5%93%81%E8%A7%84%E5%88%99/"><i class="fa  fa-book"></i> Js-sku商品规则</a>
            
          
        
          
          
            <a class="list-group-item" href="/2023/07/28/%E6%8E%92%E5%BF%A7%E8%A7%A3%E9%9A%BE/"><i class="fa  fa-book"></i> 排忧解难</a>
            
          
        
          
          
            <a class="list-group-item" href="/2023/07/25/JS/Js%E5%AE%9E%E7%8E%B0%E8%A7%A3%E6%9E%90gif%E5%8A%A8%E5%9B%BE%E5%92%8C%E5%90%88%E6%88%90gif%E5%8A%A8%E5%9B%BE/"><i class="fa  fa-book"></i> Js实现解析gif动图和合成gif动图</a>
            
          
        
          
            
          
            
          
            
          
            
          
            
          
            
          
            
          
            
          
            
          
            
          
            
          
            
          
            
          
            
          
            
          
            
          
            
          
            
          
            
          
            
          
            
          
            
          
            
          
            
          
            
          
            
          
            
          
            
          
            
      </ul>
  </div>
  </aside>

            
    </div>
</section>
        
        </div>
    </div>
</div>
<footer>
    <div id="footer"  class="ap-lrc"  >
        <div class="container">
            <div class="row">
                <div class="col-md-6 col-md-offset-3 footer-list text-center">
                    <ul class="kratos-social-icons">
                        <!-- Keep for compatibility -->
                        
                        
                        
                        
                        
                        
                        
                        
                        
                        <!-- New links -->
                        
                    </ul>
                    <ul class="kratos-copyright">
                        <div>
                            <li>&copy; 2024 Blog 版权所有.</li>
                            <li>本站已运行<span id="span_dt">Loading...</span></li>
                        </div>
                        <div>
                            <li>Theme <a href="https://github.com/Candinya/Kratos-Rebirth" target="_blank">Kratos:Rebirth</a></li>
                            <li>Site built with&nbsp;<i class="fa fa-heart throb" style="color:#d43f57"></i>&nbsp;by Sun Liusen.</li>
                        </div>
                        <div>
                            <li>Powered by <a href="https://hexo.io" target="_blank" rel="nofollow">Hexo</a></li>
                            <li>Hosted on <a href="https://github.io" target="_blank">Github Pages</a></li>
                        </div>
                        <div>
                            
                            
                        </div>
                    </ul>
                </div>
            </div>
        </div>
        <div class="kr-tool text-center">
            <div class="tool">
                
                    <div class="box search-box">
                        <a href="/search/">
                            <span class="fa fa-search"></span>
                        </a>
                    </div>
                
                
                    <div class="box theme-box" id="darkmode-switch">
                        <span class="fa fa-adjust"></span>
                    </div>
                
                
                
            </div>
            <div class="box gotop-box">
                <span class="fa fa-chevron-up"></span>
            </div>
        </div>
    </div>
</footer>
</div>
</div>

        <script defer src="/vendors/bootstrap@3.3.4/dist/js/bootstrap.min.js"></script>
<script defer src="/vendors/nprogress@0.2.0/nprogress.js"></script>
<script>
    if (!window.kr) {
        window.kr = {};
    }
    window.kr.notMobile = (!(navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i)));
    window.kr.siteRoot = "/";
</script>


    <script async src="/js/candy.min.js"></script>



    <script defer src="/vendors/aplayer@1.10.1/dist/APlayer.min.js"></script>
    
    <script defer src="/vendors/meting@2.0.1/dist/Meting.min.js"></script>
    <meting-js
        server="netease"
        type="playlist"
        id="3204190542"
        order="random"
        fixed="true"
    >
    </meting-js>



    <script defer src="/vendors/@fancyapps/fancybox@3.5.7/dist/jquery.fancybox.min.js"></script>

<script defer src="/js/kratosr.min.js"></script>
<script defer src="/js/pjax.min.js"></script>



<!-- Extra support for third-party plguins  -->


    </body>
</html>